/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controller;

import controller.command.Command;
import controller.command.EmptyCommand;
import java.awt.event.ActionEvent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.table.JTableHeader;
import javax.swing.table.TableColumn;
import javax.swing.table.TableColumnModel;
import view.AsistenciasPanel;
import view.CargarAsistenciasPanel;
import view.InicialPanel;
import view.LoginPanel;
import view.NavigationPanel;
import view.PrincipalGUI;
import view.adAlumnos.AlumnoPanel;
import view.adAlumnos.BuscarAlumnoPanel;
import view.adPlanEstudio.CarrerasPanel;
import view.adPlanEstudio.InstanciasEvaluadorasPanel;
import view.adPlanEstudio.NuevaInstanciaEvaluadoraPanel;

/**
 *
 * @author Pioli
 */
public class ControladorNav extends Controlador {
    
    private NavigationPanel panel;
    private ControladorPrincipal controladorPadre;
    
    private Command[] comandos;

    public ControladorNav(JPanel padre, ControladorPrincipal cPrincipal) {
        this.panel = (NavigationPanel) padre;
        controladorPadre = cPrincipal;
        comandos = new Command[3];
    }

    public enum Accion {
            Boton1,
            Boton2,
            Boton3
        }
    public void setCommand(int cual, Command comando){
        comandos[cual] = comando;
    }
    @Override
    public void iniciar() {
        
        panel.Boton1.setActionCommand("Boton1");
        panel.Boton2.setActionCommand("Boton2");
        panel.Boton3.setActionCommand("Boton3");
        
        panel.Boton1.addActionListener(this);
        panel.Boton2.addActionListener(this);
        panel.Boton3.addActionListener(this);
        
        for (int i = 0; i < comandos.length; i++) {
            comandos[i] = new EmptyCommand();
        }
    }

    /**
     * Gestion de accciones
     */
    @Override
    public void actionPerformed(ActionEvent e) {

        switch (ControladorNav.Accion.valueOf(e.getActionCommand())) {
            case Boton1:
                
            break;
            case Boton2:
                comandos[1].execute();
            break;
            case Boton3:
                if(controladorPadre.getcurrentPanel() instanceof AsistenciasPanel ){
             
                   CargarAsistenciasPanel quepanel = new CargarAsistenciasPanel();
                   quepanel.jPanel1.setVisible(false);
                   

                   JTableHeader th = quepanel.tabla.getTableHeader();
                   TableColumnModel tcm = th.getColumnModel();
                   TableColumn tc = tcm.getColumn(1); 
                   tc.setHeaderValue("Nota");

                    controladorPadre.cambiarPanel(quepanel, "Cargar Notas", "Guardar,Volver");
                   
                }
                if(controladorPadre.getcurrentPanel() instanceof InstanciasEvaluadorasPanel ){
                    controladorPadre.cambiarPanel(new NuevaInstanciaEvaluadoraPanel(), "Cargar Asistencias", "Guardar,Volver");
                }
                if(controladorPadre.getcurrentPanel() instanceof BuscarAlumnoPanel ){
                    controladorPadre.cambiarPanel(new AlumnoPanel(), "Cargar Asistencias", "Guardar,Volver");
                }
                if(controladorPadre.getcurrentPanel() instanceof LoginPanel ){
                    controladorPadre.sesion=true;
                    controladorPadre.metodoReChoto(new InicialPanel(), "Bienvenido", "");
                }
            break;
                
         
        }//-> fin swith
    }
}